/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fachada;

import bean.Consulta;
import conexion.Conexion;
import dao.factory.DAOConsultaFactory;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Usuario
 */
public class FachadaConsulta {
    
     public Consulta findByPacienteEval(String paciente, String evaluacion, String especialidad) {
        Consulta oConsulta = null;
         Connection conn = null;
        boolean rollback = false;
        try {
            conn = Conexion.establecerConnection();
            conn.setAutoCommit(false);
            oConsulta = DAOConsultaFactory.getDAO().findByPacienteEval(conn, paciente,evaluacion,especialidad);
            conn.commit();
            return oConsulta;
        } catch (Exception e) {
            rollback = true;
        //Reportar en log y enviar a paginas de error
        } finally {
            try {
                if (conn != null) {
                    if (rollback) {
                        conn.rollback();
                    }
                    conn.close();
                }
            } catch (SQLException e) {
            //Reportar en log y enviar a paginas de error
            }
        }
        return oConsulta;
    }
     
    public String insertarConsulta(Consulta oConsulta) {
        String sReturn = "";
        Connection conn = null;
        boolean rollback = false;
        try {
            conn = Conexion.establecerConnection();
            conn.setAutoCommit(false);
            sReturn = DAOConsultaFactory.getDAO().insertarConsulta(conn, oConsulta);
            conn.commit();
            return sReturn;
        } catch (Exception e) {
            rollback = true;
            //Reportar en log y enviar a paginas de error
            Logger.getLogger(FachadaConsulta.class.getName()).log(Level.SEVERE, e.getMessage(), "Descripcion");
        } finally {
            try {
                if (conn != null) {
                    if (rollback) {
                        conn.rollback();
                    }
                    conn.close();
                }
            } catch (SQLException e) {

                Logger.getLogger(FachadaConsulta.class.getName()).log(Level.SEVERE, e.getMessage(), "Descripcion");
            //Reportar en log y enviar a paginas de error
            }
        }
        return sReturn;
    }
    
     public Consulta obtenerConsulta(String idPull, String idEvaluacionPaciente) {
        Consulta oConsulta = null;
         Connection conn = null;
        boolean rollback = false;
        try {
            conn = Conexion.establecerConnection();
            conn.setAutoCommit(false);
            oConsulta = DAOConsultaFactory.getDAO().obtenerConsulta(conn, idPull,idEvaluacionPaciente);
            conn.commit();
            return oConsulta;
        } catch (Exception e) {
            rollback = true;
        //Reportar en log y enviar a paginas de error
        } finally {
            try {
                if (conn != null) {
                    if (rollback) {
                        conn.rollback();
                    }
                    conn.close();
                }
            } catch (SQLException e) {
            //Reportar en log y enviar a paginas de error
            }
        }
        return oConsulta;
    }             

}
